package org.summerframework.component.security.core.service;

import org.summerframework.component.security.LoginData;
import org.summerframework.component.security.core.util.useragent.UserAgentInfo;

import java.util.Date;

/**
 * @author 石超
 * @version v1.0.0
 */
public interface LoginLogService {
    /**
     * 登录当前浏览器信息
     *
     * @param loginData     登录上下文
     * @param userAgentInfo 浏览器信息
     * @param <T>           用户
     * @return 登录日志id
     */
    default <T> Long insert(LoginData<T> loginData, UserAgentInfo userAgentInfo) {
        return null;
    }

    /**
     * 退出登录的最后时间
     */
    default void updateLogoutEndDate(Long loginLogId) {

    }

    default Date selectLastDateByUserId(Long userId) {
        return new Date();
    }
}
